<?php
class MonitoreoView extends CustomView
{

    public function monitoreo($vars)
    {
        $this->setTemplate('monitoreo');
        $this->parse('monitoreo', $vars);
        if (!empty($vars['rutas']))
        {
            foreach ($vars['rutas'] as $ruta)
            {
                $this->parse('ruta', $ruta);
                foreach($ruta['puntos_camino'] as $camino)
                {
                    $this->parse('ruta_camino', $camino);
                }
                foreach($ruta['puntos'] as $punto)
                {
                    $this->parse('ruta_punto', $punto);
                }
                $this->parse('ruta', $ruta);
            }
            $this->parse('monitoreo', $vars);
            foreach ($vars['viajes'] as $viaje)
            {
                $parsed = json_encode($this->formatViaje($viaje));
                $this->parse('viaje', array('idviaje' => $viaje['idviaje'], 'viaje' => $parsed));
            }
            $this->parse('monitoreo', $vars);
            if (!empty($vars['geolocalizaciones']))
            {
                foreach ($vars['geolocalizaciones'] as $geoLocalizacion)
                {
                    $parsed = json_encode($geoLocalizacion);
                    $this->parse('geolocalizacion', array('geolocalizacion' => $parsed));
                }
            }
        }
        $this->parse('monitoreo', $vars);
    }

    public function formatViaje($viaje)
    {
        $ret = array(
            'id'                => $viaje['idviaje'],
            'nombre'            => $viaje['nombre'],
            'salida_timestamp'  => $viaje['salida_timestamp'],
            'llegada_timestamp' => $viaje['llegada_estimada_timestamp'],
            'fkruta'            => $viaje['fkruta'],
            'vehiculo'          => array(
                'id'      => $viaje['vehiculos.idvehiculo'],
                'nombre'  => $viaje['vehiculos.nombre'],
                'patente' => $viaje['vehiculos.patente'],
                'numero'  => $viaje['vehiculos.numero_vehiculo'],
            ),
            'conductor'         => array(
                'id'       => $viaje['conductores.idconductor'],
                'nombre'   => $viaje['conductores.nombre'],
                'apellido' => $viaje['conductores.apellido'],
            )
        );
        return $ret;
    }

    public function gruposActivos($vars)
    {
        $this->top();
        $this->setTemplate('grupos_activos');
        $this->parse('grupos_activos', $vars);
        {
            if (!empty($vars['grupos']))
            {
                foreach ($vars['grupos'] as $grupo)
                {
                    $this->parse('grupo', $grupo);
                }
            }
            else
            {
                $this->parse('sin_resultados');
            }
        }
        $this->parse('grupos_activos', $vars);
        $this->bottom();
    }

}
?>